/**
 * 系统后台数据库连接配置JS-systemDataSource.jsp
 */

// 项目路径
var strPath = window.document.location.pathname;
//var postPath = strPath.substring(0, strPath.substr(1).indexOf('/') + 1);
var postPath = "/gdp";
var editStart = 1;// 1添加、2修改
var dd = 0;
$(function() {
	$("#ssss").hide();
	// 数据列表
	$("#tb_dataList").bootstrapTable({
		url : postPath + '/system/basicServer/paging',
		undefinedText : '-',
		pagination : true, // 分页
		striped : true, // 是否显示行间隔色
		queryParams : queryParams,
		cache : false, // 是否使用缓存
		pageList : [ 5, 10, 20 ],
		toolbar : "",// 指定工具栏
		showColumns : false, // 显示隐藏列
		showRefresh : false, // 显示刷新按钮
		uniqueId : "guid", // 每一行的唯一标识
		sidePagination : "server", // 服务端处理分页
		columns : [ {
			field : 'state',
			checkbox : true,
			align : 'center',
			valign : 'middle'
		}, {
			title : '服务ID',
			field : 'guid', // 字段
			align : 'center', // 对齐方式（左 中 右）
			valign : 'middle', //  
			sortable : false
		}, {
			title : '服务名称',
			field : 'servicename', // 字段
			align : 'center', // 对齐方式（左 中 右）
			valign : 'middle', //  
			sortable : false
		}, {
			title : '关联服务表',
			field : 'linktable',
			align : 'center',
			valign : 'middle',
			sortable : false
		}, {
			title : '服务地址',
			field : 'serviceurl',
			align : 'left',
			valign : 'middle',
			sortable : false
		}, {
			title : '备注',
			field : 'remark',
			align : 'center',
			valign : 'middle',
			sortable : false
		}]
	});

	// 查询操作
	$("#btn_Search").click(function() {
		$("#tb_dataList").bootstrapTable('refresh');
	});

	// 刷新操作
	$("#btn_ref").click(function() {
		$("#tb_dataList").bootstrapTable('refresh'); 
	});

	// 删除数据
	$("#btn_del").click(function() {
		var row = $('#tb_dataList').bootstrapTable('getSelections');
		if (row == null || row == "") {
			bootbox.alert("请选择一行!");
			//showMsg("请选择一行!", "warning");
			return;
		}

		var message = ""
		$.each(row, function(i, e) {
			message += e.guid + "," + e.servicename + "<br/>";
		});

		var deleteFunction =  function(result) {
			if (result == false)
				return;
			var keys = "";
			$.each(row, function(i, e) {
				keys += e.guid + ",";
			});
			keys = keys.substring(0, keys.length - 1);
			$.ajax({
				url : postPath + '/system/basicServer/deleteServer',
				type : 'get',
				data : {
					keys : keys
				},
				success : function(data) {
					showMsg("删除成功!", "success");
					// bootbox.alert("删除成功!");
					$('#tb_dataList').bootstrapTable('refresh');
				},
				error : function() {
					// bootbox.alert("删除失败!");
					showMsg("删除失败!", "error");
				}
			});
		};

		confirmDelete(message, deleteFunction);
	});

	// 添加操作
	$("#btn_add").click(function() {
		$("#serverguid").attr("readonly",false);
		cleanContent();
		$("#EditContent").modal('show');
		editStart = 1;
	});

	// 修改操作
	$("#btn_edit").click(function() {
		cleanContent();
		var row = $('#tb_dataList').bootstrapTable('getSelections');
		if (row == null || row == "") {
			// bootbox.alert("请选择一行!");
			showMsg("请选择一行!", "warning");
			return;
		}
		dd  = row[0].guid;
		$.ajax({
			type : 'get',
			url : postPath + '/system/basicServer/selectServerOne',
			async : false,
			data : {
				key : row[0].guid
			},
			success : function(res) {
				$("#serverguid").attr("readonly",true);
				$("#serverguid").val(res.guid);
				$("#servername").val(res.servicename);
				$("#serverurl").val(res.serviceurl);
				$("#tablename").val(res.linktable);
				$("#remake").val(res.remark);
				if(res.catched==1){$("#male").attr('checked', 'checked');}
				if(res.catched==0){$("#female").attr('checked', 'checked');}
				editStart = 2;
			}
		});
		$("#EditContent").modal('show');

	});

	// 保存数据
	$("#btn_save").click(function() {
		var validataResult = validateData();
		if (validataResult) {
			var editurl = "";
			if (editStart == 1) {
				editurl = postPath + '/system/basicServer/insertServer';
			} else if (editStart == 2) {
				editurl = postPath + '/system/basicServer/updateServer';
			}
			var basicserver = "";
			if(editStart == 1){
				basicserver = {
						"servername" : $("#servername").val(),
						"serverurl" : $("#serverurl").val(),
						"tablename" : $("#tablename").val(),
						"remake" : $("#remake").val(),
						"catched": $("input[name='catched']:checked").val()
					};
			}else{
				 basicserver = {
						"guid":dd,
						"servername" : $("#servername").val(),
						"serverurl" : $("#serverurl").val(),
						"tablename" : $("#tablename").val(),
						"remake" : $("#remake").val(),
						"catched": $("input[name='catched']:checked").val()
					};
			}
			$.ajax({
				type : "POST",
				url : editurl,
	            data : JSON.stringify(basicserver),
	            dataType: 'json',
	            contentType:'application/json;charset=UTF-8',
				success : function(res) {
					if (res.message == "success") {
						// bootbox.alert("保存成功!");
						showMsg("保存成功!", "success");
						$('#tb_dataList').bootstrapTable('refresh');
						$("#EditContent").modal('hide');
					} else {
						// bootbox.alert("保存失败,请刷新后重试!");
						showMsg("保存失败,请刷新后重试!", "error");
					}
				}
			});
		}

	});
	
});



/** 查询条件与分页数据 */
function queryParams(pageReqeust) {
	var temp = {
		order : pageReqeust.order,
		pageNo : pageReqeust.offset / pageReqeust.limit + 1,
		pageSize : pageReqeust.limit,
		seachTxt : $("#seachTxt").val()
	};
	return temp;
}

// 内容初始化
function cleanContent() {
	// 维护内容清空
	$("#servername").val("");
	$("#serverurl").val("");
	$("#tablename").val("");
	$("#remake").val("");
	$("#serverguid").val("");
	
	

	// 验证信息清空
	$("#valide_servername").html("");
	$("#valide_serverurl").html("");
	$("#valide_tablename").html("");
	$("#valide_remake").html("");
	$("#valide_serverguid").html("");
}

// 验证表单内容
function validateData() {
	var re = 0;
	if(editStart ==1){
		var selectguid = $("#serverguid").val();
		$.ajax({
			type : 'get',
			url : postPath + '/system/basicServer/selectExit',
			async : false,
			data : {
				dbKey : selectguid
			},
			success : function(res) {
				re =res;
			}
		});
		if (re != 0) {
			$("#valide_serverguid").html("该服务ID在表中已存在");
			return false;
		} else {
			$("#valide_serverguid").html("");
		}
		return true
	}
	if ($("#servername").val() == "") {
		$("#valide_servername").html("服务名称不能为空!");
		return false;
	} else {
		$("#valide_servername").html("");
	}
	if ($("#serverurl").val() == "") {
		$("#valide_serverurl").html("服务地址不能为空!");
		return false;
	} else {
		$("#valide_serverurl").html("");
	}
	if ($("#tablename").val() == "") {
		$("#valide_tablename").html("关联表名不能为空!");
		return false;
	} else {
		$("#valide_tablename").html("");
	}
	return true;
}

function showMsg(text, icon) {
	$.toast().reset('all');
	$.toast({
		text: text,
		icon: icon,
		showHideTransition: 'fade',
		allowToastClose: true,
		hideAfter: 1500,
		stack: false,
		position: 'top-right',
		textAlign: 'left',
		loader: true,
		loaderBg: '#9ec600',
	});
}

function confirmDelete(message, confirmFunction){
    var messageObj = {
        title: '确认删除？',
        message: message ,
        callback: confirmFunction
    }
    bootbox.confirm(messageObj);
}
